home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 22 / Amiga Format AFCD22 (Jan 1998, Issue 106).iso / -seriously_amiga- / shareware / workbench / -dopus- / pch56x / opus_patch56x-562 < prev    next >
Text File  |  1997-11-05  |  7KB  |  253 lines

  1. ; Opus_Patch56x-562
  2. ; Installer script to update Directory Opus Magellan version 5.61 to 5.62 
  3. ;
  4. ; Directory Opus Update Version $VER: Opus_Patch56x-562  (23.07.97)
  5. ; script version 2 fix problem with disk info module and storage dir
  6. ; script version 3 make one combined patch for WoA and 5.61 versions
  7. ; script version 4 added @default_dest for Neil annd Thomas
  8.  
  9. ; COPYRIGHT ©1997 GP SOFTWARE, AUSTRALIA
  10.  
  11.  
  12. (complete 0)
  13.  
  14. (procedure clear_assigns
  15.  
  16.     (makeassign "DOPNEW")
  17.     (makeassign "PCH")
  18.     (makeassign "DOPOLD")
  19. )
  20.  
  21. (procedure signal_opus
  22.  
  23.     (set #Sigs (tackon #SRC "dopusmsg"))
  24.     (if (exists #Sigs (noreq))
  25.         (run (cat #Sigs " DOPUS.1 \"command set notify off\""))
  26.     )
  27. )
  28.  
  29. (procedure make_newfiles ; (#EXT) requires #EXT to be set before call
  30.  
  31.         (working "Updating modules/ftp.module")
  32.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/ftp.module -pPCH:ftp."#EXT" DOPOLD:modules/ftp.module"))
  33.         (working "Updating modules/configopus.module")
  34.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/configopus.module -pPCH:configopus."#EXT" DOPOLD:modules/configopus.module"))
  35.         (working "Updating modules/cleanup.module")
  36.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/cleanup.module -pPCH:cleanup."#EXT" DOPOLD:modules/cleanup.module"))
  37.         (working "Updating modules/about.module")
  38.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/about.module -pPCH:about."#EXT" DOPOLD:modules/about.module"))
  39.         (working "Updating modules/show.module")
  40.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/show.module -pPCH:show."#EXT" DOPOLD:modules/show.module"))
  41.         (working "Updating modules/read.module")
  42.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/read.module -pPCH:read."#EXT" DOPOLD:modules/read.module"))
  43.         (working "Updating modules/print.module")
  44.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/print.module -pPCH:print."#EXT" DOPOLD:modules/print.module"))
  45.         (working "Updating modules/play.module")
  46.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/play.module -pPCH:play."#EXT" DOPOLD:modules/play.module"))
  47.         (working "Updating modules/misc.module")
  48.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/misc.module -pPCH:misc."#EXT" DOPOLD:modules/misc.module"))
  49.         (working "Updating modules/listerformat.module")
  50.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/listerformat.module -pPCH:listerformat."#EXT" DOPOLD:modules/listerformat.module"))
  51.         (working "Updating modules/join.module")
  52.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/join.module -pPCH:join."#EXT" DOPOLD:modules/join.module"))
  53.         (working "Updating modules/icon.module")
  54.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/icon.module -pPCH:icon."#EXT" DOPOLD:modules/icon.module"))
  55.         (working "Updating modules/format.module")
  56.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/format.module -pPCH:format."#EXT" DOPOLD:modules/format.module"))
  57.         (working "Updating modules/filetype.module")
  58.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/filetype.module -pPCH:filetype."#EXT" DOPOLD:modules/filetype.module"))
  59.  
  60.         (working "Updating modules/diskcopy.module")
  61.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:modules/diskcopy.module -pPCH:diskcopy."#EXT" DOPOLD:modules/diskcopy.module"))
  62.         (working "Updating libs/dopus5.library")
  63.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:libs/dopus5.library -pPCH:dopuslib."#EXT" DOPOLD:libs/dopus5.library"))
  64.         (working "Updating help/DOpus5.guide")
  65.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:help/DOpus5.guide -pPCH:helpguide."#EXT" DOPOLD:help/DOpus5.guide"))
  66.         (working "Updating DirectoryOpus")
  67.         (run (cat (tackon #SRC "spatch") " -oDOPNEW:DirectoryOpus -pPCH:dopus."#EXT" DOPOLD:DirectoryOpus"))
  68.  
  69.         (copyfiles (source (cat "PCH:loaddb." #EXT)) (dest "DOPNEW:c") (newname "LoadDB"))
  70.         (copyfiles (source (cat "PCH:DOpusRT5." #EXT)) (dest "DOPNEW:c") (newname "DOpusRT5"))
  71.         (copyfiles (source (cat "PCH:diskinfo." #EXT)) (dest "DOPNEW:modules") (newname "diskinfo.module"))
  72.         (copyfiles (source (cat "PCH:update." #EXT)) (dest "DOPNEW:modules") (newname "update.module"))
  73. )
  74.  
  75.  
  76. (procedure wrong_version
  77.  
  78.     (message #Title_msg
  79.         "Sorry, you have the wrong version of DirectoryOpus.\n\n"
  80.         "This upgrade will NOT WORK for your version.\n"
  81.  
  82.         #README
  83.  
  84.         "Your Opus version is "#dop_ver"."#dop_rev".\n"
  85.         "and the library is "#lib_ver"."#lib_rev"\n")
  86.  
  87.     (exit "Installation terminated!")
  88.  
  89. )
  90.  
  91. (procedure anyone_home
  92.  
  93.     (message #Title_msg
  94.         "Sorry, cannot find DirectoryOpus on you system!\n\n"
  95.         #README)
  96.         
  97.     (exit "Installation terminated!")
  98.  
  99. )
  100.  
  101. (procedure wrong_dopus
  102.  
  103.         
  104.     (message #Title_msg
  105.         "Sorry, you have the wrong version of DirectoryOpus.\n\n"
  106.         "This upgrade will NOT WORK for your version.\n\n"
  107.  
  108.         #README
  109.  
  110.         "Your Opus version is "#dop_ver"."#dop_rev".\n")
  111.  
  112.     (exit "Instalation terminated!")
  113. )
  114.  
  115.  
  116. (procedure get_ext
  117. ; work out which library version, should be enough
  118.  
  119.     (set #lib_ver 0)
  120.  
  121.     (if (exists #DOPUSLIB (noreq))
  122.         (
  123.         (set #Vernum (getversion #DOPUSLIB))
  124.         (set #lib_ver (/ #Vernum 65536))
  125.         (set #lib_rev (- #Vernum (* #lib_ver 65536) ) )
  126.     
  127.         (if    (AND (= #lib_ver 60 ) (= #lib_rev 1 ))
  128.             (
  129.             (set #EXT "pch60")
  130.             (set #PATCHNAME "Opus6062Patch.lha")
  131.             )
  132.             (; else
  133.             (if    (AND (= #lib_ver 61 ) (= #lib_rev 1 ))
  134.                 (
  135.                 (set #EXT "pch61")
  136.                 (set #PATCHNAME "Opus6162Patch.lha")
  137.                 )
  138.             )
  139.             )
  140.         )
  141.         )
  142.         (anyone_home)
  143.         
  144.     )
  145.  
  146.     (if    (= #lib_ver 0)
  147.         (wrong_version)
  148.     )
  149. )
  150.  
  151. ;
  152. ; start
  153. ;
  154.  
  155. (
  156. (onerror clear_assigns)
  157.  
  158.  
  159. (set #OLD_OPUS "DOpus5:")
  160. (set #FINAL "DOpus5:")
  161. (set @default-dest #FINAL)
  162.  
  163. (set #NEW_OPUS "ram:OP562")
  164. (set #PCH_TMP "ram:OPPCHTMP")
  165. (set #SRC "ram:PCH56x")
  166. (set #WANTVER 61)
  167.  
  168. (set #DOPUSPROG (tackon #OLD_OPUS "DirectoryOpus"))
  169. (set #DOPUSLIB (tackon #OLD_OPUS "libs/dopus5.library"))
  170.  
  171. (set #README "Please read the ReadMe acompanying this archive or contact GPSoftware for details of upgrades\n\n")
  172.  
  173. (clear_assigns)
  174. (signal_opus)
  175.  
  176.  
  177. (makeassign "DOPOLD" #OLD_OPUS)
  178. (makedir #NEW_OPUS)
  179.  
  180. (makeassign "DOPNEW"  #NEW_OPUS)
  181. (makedir "DOPNEW:modules")
  182.  
  183. (makedir "DOPNEW:c")
  184. (makedir "DOPNEW:help")
  185. (makedir "DOPNEW:libs")
  186.  
  187. (makedir #PCH_TMP)
  188. (makeassign "PCH" #PCH_TMP)
  189.  
  190.  
  191. ; main procedure
  192.  
  193.  
  194.     (set #Title_msg "Directory Opus Magellan Update Patch.\n\n")
  195.  
  196.     (message #Title_msg
  197.         "This procedure will update your existing version of"
  198.         " Directory Opus Magellan 5.6x to version  5.62.\n\n"
  199.         "When finished, you will need to reboot your Amiga."
  200.         )
  201.  
  202.     (if (exists #DOPUSPROG (noreq))
  203.         (
  204.         (set #Vernum (getversion #DOPUSPROG))
  205.         (set #Dop_ver (/ #Vernum 65536))
  206.         (set #Dop_rev (- #Vernum (* #Dop_ver 65536) ) )
  207.         );else
  208.         (anyone_home)
  209.     )
  210.  
  211.  
  212.     (if    (AND (= #dop_ver 5 ) (= #dop_rev #WANTVER ))
  213.         (get_ext)
  214.         (wrong_dopus) ;else
  215.  
  216.     )
  217.  
  218.     (if (exists (tackon #SRC #PATCHNAME))
  219.         (
  220.         (working "Unarchiving patch files...")
  221.         (run (cat (tackon #SRC "lhex") " >NIL: <NIL: -qfw=PCH: x " (tackon #SRC #PATCHNAME)))
  222.  
  223.         (make_newfiles)
  224.     
  225.         (copyfiles (source "DOPNEW:") (dest #FINAL) (all) (optional force))
  226.         (copyfiles (source (tackon #SRC "ReadMe_Magellan562")) (dest #FINAL) (infos))
  227.  
  228.     
  229.         ;
  230.         ; tidyup
  231.         ;
  232.  
  233.         (clear_assigns)
  234.         (run (cat "C:Delete " #PCH_TMP " all"))
  235.         (run (cat "C:Delete " #NEW_OPUS " all"))
  236.     
  237.         ; make sure update module is re-initialised
  238.     
  239.         (run "C:Delete DOpus5:system/update-history FORCE")
  240.         
  241.  
  242.         ); else
  243.         (message #Title_msg
  244.             "Woops! Cannot find the patch archive\n"
  245.              "Required archive: "#PATCHNAME".\n\n"
  246.         )
  247.         
  248.     )
  249.  
  250. (clear_assigns)
  251. )
  252.